Moving the epsilon.js to typescript