optimized map function and added "self" return on reject/resolve for amazing syntax