implemented getfield