return as associative object rather than array