First cut full implementation done.

1. Need cross comparision and validation.