add abstract field