Initial commit; step 1 compelted and step 2 halfway