works a bit better