added code from previuos projects
- also added googletest and some basic tests