Working with #30 which still needs some fixing