my final dvp , may be existing bugs !