initial functionality, written after 4 beers.