routine added and tested