further changes
one function remaining