made huge strides towards implementing #17