functionality done
more tweaking