`@todo` need to refactor and implement it in all forms