First simple implementation version