refinement & bugfix