wip, dynamic class building stuff