made reusable control component