reduce code hence reduce bug chance