some work done:)