New desing implementation