refactor/cleanup
added properties for customizing