Added more forward declares
Added namespaces and license comment