Add required functionalities
fix conflicts