Not finished yet, but adding more potential functionality