reconstructed

override the presentModalViewController and the
dismissModalViewController make user use it easily