in working condition need to fix minor errors