wish i could name methods "[" and "]"