Adding all remaining code