all object calisthenics rules met refactored