Refactor amon class