better dev now, no need for "var self" everywhere