Duck class refactor first draft