untested haskell support for reading and adding project point of interests
remove some code duplication