re-implement custom dropdown using another plugin and restructure files