also added a size()