Code is still messy, but upload current state.