refactor shape classes -> 1 class per AMD module