scope using achievements has_many
refactor constants that user should not know
potential improvement on achievement data structure