Added transform function to shapes, not yet fully tested