still not getting rid of magic numbers