minor changes, still considering method