@raydavis can we use a class for this instead?