optimise interface of week.js