added back not-supposed-to-be deleted functions