didn't finish the input stuff yet, almost done. feel free to work on it tho