Empty function

At beginning branch was only about implementation of empty function, then I added support for defining abstract classes as it was missing.