Final changes. Still kinda rough, but mostly everything is functional