added more functions and operators