add algorithm and numeric