add A1A2Writer, add writer class hierarchy