added less port and easy initializer