some refac and styles