added + and - functionality