added implementation of keyword function
changed: all flow control statement will use one label counter
added comments about variables