fixed most build issues

was issue with circular declaration and not using std::vector