great solution... and it doesn't seem too complicated!