cleaned up usage function