added Jest. cleaned up design to use both libs