This needs some comments; at a minimum a contract/purpose.