start converting all to kotlin