all implemented - end of thesis