Add add function and fix order