added head file and unit tests

Change-Id: Ie1fa4ff3b038ef856695e2ec32aee932f2e14611
moved things around

Change-Id: I74ef1588daa6ad3d5c129d58ccdfaa375e9ad714
added print nice

Change-Id: Idfc2bb494cef6e570934d78f14e2d41e5ea31a82