Ready for browser or node