added timer. halfway implemented