use function abstraction, reduce code a bit