port stuart sierras component and dependency libraries to cljs, also math.combinatorics