this is not a good way to work