modified the return type