module function property split into own file
more refactoring