initial package
implementation and tests