nicer code and saves a few bytes