A small rule based engine for generic purposes