Refactor to use standard py project layout