working on arguments logic