try some nicer code