input hooks
split module&uploader out
bugfix