More documentation; class structure