using Collection to allow calling size()