added support for array values, added ::all()