optimize a little
optimize again
less code