Changed the structure a little bit to enable forwarding, moved namespace to match folder, split declaration and implementation.