started real implementation