modified for final changes