Fixed wrong number of arguments issue, extensive tests