make example more involved, give default implementation of size