Changed arguement parsing to be more custom