some improvement
resolve conflits