todo added, objects revised