adds basic functionality