after modularization basic working, select works