clean properties
splitting into modules to improve reusability