made classes for future use with threaded rendering