improved get method