removed __slice calls
simplified args parsing