Add create input function
Add more interface stuff
Move stuff