Refactor for initial release