refactor shardon models