First commit. initial design