finished design implementation