Overhauled and added args