changed internal ds for vector, added backward/forward methods