Proper implementation of init and mdev