adding collection functionality