basic drag framework implemented