change a lot so it works