added onNewShape callback
Added text functionality
resolved conflict