add abstract map