merged Nathan's hard work

java didn't like labels starting with underscore, had to remove
comments again :)
labilization, forgot file