reworked all annotation parsing so that it correctly handles annotations without any attributes. made attribute parsing a little more elegant. converted all spaces to tabs and fixed code formatting. added new tests