improve appearance, add functionality