improved a bit ;)