fixed api includes
moved implementation to the implementation
better source grouping for vs