functions not needed anuymore