added finish() and speed