initial package setup
(almost) direct port of all classes
overall cleanup and ordening