I added a move class and some RuleEngine interfaces