commiting complete code