separate things out and add some tests