add Rectangle and Pedder::Text types; encapsulation; code clean up