updated to allow for array function notation