Implement add(). Pretty sure this is wrong.