breaking out func into separate files and trying to get revealing prototype pattern to work
Specs! For stuff!