Added all features except for void return types