added definition file, added more comments