updated engine, round 3

separate classes for the habit types