Formatting and renaming
Display usage when call without arguments instead of a message
Update interface
Add an ability check
Update socket
Add up and down functions