improvements for canjs