Initial checkin, everything seems to work
few cleanups