Rewrite of code + implemented argparse for parsing arguments
added description tag