this works a bit better