get rid of magic numbers