trying to improve speed... things seem pretty fast though