restructed project and added libs for unit tests