contains error, but this exercise is just beyond pointless