Updates CMakeLists with dependencies linking.
Header and Source files restructure.