Added tab completor + refractored some methods