changed the input and output behaviour, and deleted the not working overloads