keywords fully implemented. still have to work to escape script tags to avoid script injection. backend already escaping. but the client crashes if used add tags inside the input. closes #12