added input functions