added first version of :api block keyword and api blocks. Right now not really pretty but it gets the job done