fixes
refractoring __main__
add numpy