Ну как-то так... Жду критики :) (про "sharp" не говорите - знаю) ;)