Moved some stuff to sub-packages to make the structure more
understandable.