data structures redifinition