first complete blog code