add functional-js stuff