abstracted all to seperate polymer elements