basic working modal component