refacto : extracted methods and started shoulder interface