make functions pure by passing project
info messesages
deps
overwriting files with nil will exclude them from template
docs!